﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace HospitalAdmision
{
    public partial class registro : Form
    {
        public registro()
        {
            InitializeComponent();
        }

        private void Button1_Click(object sender, EventArgs e)
        {   
            //validar que ingrese algo en los textbox
            if (tb_dmedicamento.Text == "" || tb_cantidad.Text == "" || tb_precio.Text == "")
            {
                MessageBox.Show("Por favor llene todos los campos");
            }
            else
            {
                //preguntar si existe el medicamento que se está ingresando
                Producto pr = formFarmacia.Hos.Producto.FirstOrDefault(p => p.descripcion == tb_dmedicamento.Text);

                if (pr == null)//si no existe, agregar un nuevo registro a la base de datos "producto"
                {
                    Producto prod = new Producto();
                    prod.descripcion = tb_dmedicamento.Text;
                    prod.cantidad = Convert.ToInt32(tb_cantidad.Text);
                    prod.fechaIngreso = DateTime.Now;
                    prod.precioCompra = Convert.ToInt32(tb_precio.Text);
                    prod.PrecioVenta = Convert.ToInt32(prod.precioCompra + (prod.precioCompra * 0.2));//aumentar precio venta

                    formFarmacia.Hos.Producto.Add(prod);
                    formFarmacia.Hos.SaveChanges();

                    MessageBox.Show("Medicamento añadido correctamente");
                }
                else//si existe, modificar datos del registro
                {
                    
                    pr.descripcion = tb_dmedicamento.Text;
                    pr.cantidad += Convert.ToInt32(tb_cantidad.Text);
                    pr.precioCompra = Convert.ToInt32(tb_precio.Text);//modifica precio compra
                    formFarmacia.Hos.SaveChanges();

                    MessageBox.Show("Medicamento se ha modificado");
                }
            }
        }
        private void Button2_Click(object sender, EventArgs e)
        {
            Dispose();
            formFarmacia f1 = new formFarmacia();
            f1.Show();
        }

        private void tb_precio_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else
                if (Char.IsControl(e.KeyChar))
                {
                    e.Handled = false;
                }
                else
                {
                    e.Handled = true;
                }
        }

        private void tb_cantidad_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = false;
            }
            else if (Char.IsControl(e.KeyChar))
            {
                e.Handled = false;
            }
            else
            {
                e.Handled = true;
            }
        }
    }


}
